/**
 *修复ie浏览器对trim的不支持 
 */
String.prototype.trim=function(){
	return this.replace(/^\s\s*/, '').replace(/\s\s*$/, '');
}
/**
 * 功能：固定表头 参数 viewid 表格的id scrollid 滚动条所在容器的id size 表头的行数（复杂表头可能不止一行）
 */
function scroll(viewid, scrollid, size) {
	// 获取滚动条容器
	var scroll = document.getElementById(scrollid);
	// 将表格拷贝一份
	var tb2 = document.getElementById(viewid).cloneNode(true);
	
	// 获取表格的行数
	var len = tb2.rows.length;
	
	// 将拷贝得到的表格中的非表头行删除
	for (var i = tb2.rows.length - 1; i >= size; i--) {
		// 每次删除数据行的第一行
		tb2.deleteRow(i);
	}
	// 创建一个div
	var bak = document.createElement("div");
	// 将div添加到滚动条容器中去
	scroll.appendChild(bak);
	// 将拷贝得到的表格在删除数据行后添加到创建的div中
	bak.appendChild(tb2);
	// 设置创建的div的position属性为absolute，即绝对定于滚动条容器（滚动条容器的position属性必须为relative）
	bak.style.position = "absolute";
	// 设置div的display属性为block，即显示div（貌似也不是必须，但如果你不希望总是显示拷贝得来的表头，这个属性还是有用处的）
	bak.style.display = "block";
	// 设置创建的div的left属性为0，即该div与滚动条容器紧贴
	bak.style.left = 0;
	bak.style.width = "100%";
	// 设置div的top属性为0，初期时滚动条位置为0，此属性与left属性协作达到遮盖原表头
	bak.style.top = "0px";
	// 给滚动条容器绑定滚动条滚动事件，在滚动条滚动事件发生时，调整拷贝得来的表头的top值，保持其在可视范围内，且在滚动条容器的顶端
	scroll.onscroll = function() {
		// 设置div的top值为滚动条距离滚动条容器顶部的距离值
		bak.style.top = this.scrollTop + "px";
	}
}
//获取表单域中的值
function getParams(form_id) {
	var params = "none=none";
	if (form_id == null || form_id == "")
		return params;
	// 获取所有文本框
	var texts = $("form[id='" + form_id + "'] :input[type='text']");
	$.each(texts, function(i, val) {
		try {
			if (val.name != '')
				params = params + '&' + val.name + '=' + val.value;
		} catch (ex) {
			alert(ex)
		}
	});
	// 获取所有密码
	var passwords = $("form[id='" + form_id + "'] :input[type='password']");
	$.each(passwords, function(i, val) {
		try {
			if (val.name != '')
				params = params + '&' + val.name + '=' + val.value;
		} catch (ex) {
			alert(ex)
		}
	});
	// 获取所有隐藏域
	var hiddens = $("form[id='" + form_id + "'] :input[type='hidden']");
	$.each(hiddens, function(i, val) {
		try {
			if (val.name != '')
				params = params + '&' + val.name + '=' + val.value;
		} catch (ex) {
			alert(ex)
		}
	});
	// 获取所有textarea
	var textareas = $("form[id='" + form_id + "'] textarea");
	$.each(textareas, function(i, val) {
		try {
			if (val.name != '')
				params = params + '&' + val.name + '=' + val.value;
		} catch (ex) {
			alert(ex)
		}
	});
	// 获取所有多选
	var checkboxs = $("form[id='" + form_id
			+ "'] :input[type='checkbox']:checked");
	$.each(checkboxs, function(i, val) {
		try {
			if (val.name != '')
				params = params + '&' + val.name + '=' + val.value;
		} catch (ex) {
			alert(ex)
		}
	});
	// 获取所有单选
	var radios = $("form[id='" + form_id + "'] :input[type='radio']:checked");
	$.each(radios, function(i, val) {
		try {
			if (val.name != '')
				params = params + '&' + val.name + '=' + val.value;
		} catch (ex) {
			alert(ex)
		}
	});
	// 获取所有下拉框
	var selects = $("form[id='" + form_id + "'] select");
	$.each(selects, function(i, val) {
		try {
			if (val.name != '')
				params = params + '&' + val.name + '=' + val.value;
		} catch (ex) {
			alert(ex)
		}
	});
	return params;
}
function ClearForm(id) {
    var objId = document.getElementById(id);
    if (objId == undefined) {
        return;
    }
    for (var i = 0; i < objId.elements.length; i++) {
        if (objId.elements[i].type == "text") {
            objId.elements[i].value = "";
        }
        else if (objId.elements[i].type == "password") {
            objId.elements[i].value = "";
        }
        else if (objId.elements[i].type == "radio") {
            objId.elements[i].checked = false;
        }
        else if (objId.elements[i].type == "checkbox") {
            objId.elements[i].checked = false;
        }
        else if (objId.elements[i].type == "select-one") {
            objId.elements[i].options[0].selected = true;
        }
        else if (objId.elements[i].type == "select-multiple") {
            for (var j = 0; j < objId.elements[i].options.length; j++) {
                objId.elements[i].options[j].selected = false;
            }
        }
        else if (objId.elements[i].type == "textarea") {
            objId.elements[i].value = "";
        }
        else if (objId.elements[i].type == "file") {
           objId.elements[i].select();
           document.selection.clear();
         // for IE, Opera, Safari, Chrome
           var file = objId.elements[i];
           if (file.outerHTML) {
              file.outerHTML = file.outerHTML;
           } else {
              file.value = ""; // FF(包括3.5)
           }
       }
    }
}
/**
 * 页面无刷新分页
 * @param currentPage
 * @param actionName
 * @param target
 */
function ajaxTurning(currentPage,actionName,target,pageFormId){
	$("#"+pageFormId).removeAttr('action');
	$("#currentPage").val(currentPage);
	$.ajax({
		url:actionName,
		type:'post',
		data:getParams(pageFormId)+"&CTPS="+new Date().getTime(),
		complete:function(data){
			data=data.responseText;
			$("#"+target).html(data);
		}
	})
}
/**
 * 普通分页
 * @param currentPage
 */
function pageTurning(currentPage,pageFormId){
	$("#currentPage").val(currentPage);
	$("#"+pageFormId).submit();
	
}
/**
 * 全选，全部选
 * @param id
 * 点击多选框
 * @param name
 * 需要全选的多选框名称
 */
function selectAll(id,name){
	if($("#"+id).prop("checked")==true){
		$("input[name='"+name+"']").prop("checked",true);
	}else{
		$("input[name='"+name+"']").prop("checked",false);
	}
}
function showMessage(msg,this_id){
	this_id.text(msg);
	this_id.show("slow");
	setTimeout(function(){
		this_id.fadeOut(900);
		this_id.hide("fast");
	},2000);
}
function getRootPath(){
	//获取浏览器端的地址
	var curWwwPath=window.document.location.href;
	//获取主机之后的目录
	var pathName=window.document.location.pathname;
	var pos=curWwwPath.indexOf(pathName);
	var localhostPath=curWwwPath.substring(0,pos);
	var projectName=pathName.substring(0,pathName.substr(1).indexOf('/')+1);
	return (localhostPath+projectName);
}
//弹出div可以拖动
var rDrag = {
		 o:null,	 
		 init:function(o){
			 console.info(o);
		      o.onmousedown = this.start;
		 },
		 start:function(e){
			  var o;
			  e = rDrag.fixEvent(e);
			  e.preventDefault && e.preventDefault();
			  rDrag.o = o = this.parentNode;
			  o.x = e.clientX - rDrag.o.offsetLeft;
			  o.y = e.clientY - rDrag.o.offsetTop;
			  document.onmousemove = rDrag.move;
			  document.onmouseup = rDrag.end;
		 },
		 move:function(e){
			  e = rDrag.fixEvent(e);
			  var oLeft,oTop;
			  oLeft = e.clientX - rDrag.o.x;
			  oTop = e.clientY - rDrag.o.y;
			  if(oLeft<=0){
			  	rDrag.o.style.left ='0px';
			  }else{
			  	rDrag.o.style.left = oLeft + 'px';
			  }
              if(oTop<=0){
              	rDrag.o.style.top ='0px';
              }else{
              	rDrag.o.style.top = oTop + 'px';
              }			  
		 },
		 end:function(e){
			  e = rDrag.fixEvent(e);
			  rDrag.o = document.onmousemove = document.onmouseup = null;
		 },
		 fixEvent: function(e){
		        if (!e) {
		            e = window.event;
		            e.target = e.srcElement;
		            e.layerX = e.offsetX;
		            e.layerY = e.offsetY;
		        }
		        return e;
		}
}
